package pms.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;

/**
 * Controller, der die geaenderten Daten oder ein neu angelegtes Objekt
 * von Jahr speichert  
 * Falls Fehler auftreten, wird die view 'Fehler.jsp' angezeigt.
 */

public class SaveJahr extends AlleJahre {

	protected ModelAndView handleRequestInternal(
			HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) throws Exception {
		httpServletRequest.setCharacterEncoding("UTF-8");
		boolean ok = false;
		try {
			int id = Integer.parseInt(httpServletRequest.getParameter("id"));
			String jahr_String = httpServletRequest.getParameter("jahr");
			int jahr = Integer.parseInt(jahr_String);
			ok = getJahrDao().pruefeJahr(jahr);
			if (ok) {
				if (id == 0) {
					getJahrDao().create(jahr_String);
				} else {
					getJahrDao().modify(id, jahr_String);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			ModelAndView mv = new ModelAndView();
			mv.addObject("title", "Speichere Jahr");
			mv.addObject("message", "Das Jahr konnte nicht angelegt bzw. geändert werden." +
					" Bitte Eingaben neu...");
			mv.setViewName("Fehler"); 
			return mv;
		}
		return super.handleRequestInternal(httpServletRequest, httpServletResponse);
	}
}